约 1425 字

约 7 分钟

#Lua 的 while 循环语句

循环语句是一种让程序重复执行一段代码的控制结构。

Lua 的 while 循环语句语法结构为:

while 条件 do
    代码块
end
  • 判断“条件”是否为 true
    • 如果为 true 则执行循环体,然后进入下一轮循环
    • 如果为 false 则结束循环

真

假

开始

循环条件?

循环体

结束

示例:

local i = 5
while i > 0 do  -- 当 i 大于 0 时执行循环 
    print("当前 i 的值为", i)
    i = i - 1   -- 将 i 的值减少 1
end

运行结果:

当前 i 的值为   5
当前 i 的值为   4
当前 i 的值为   3
当前 i 的值为   2
当前 i 的值为   1

#break

break 用于用于终止当前循环(包括 while 以外的循环),继续执行循环之后的代码。

示例:

local i = 10
while i > 0 do      -- 当 i 大于 0 时执行循环
    if i == 5 then
        break       -- 提前结束循环
    end

    print("当前 i 的值为", i)
    i = i - 1       -- 将 i 的值减少 1
end

运行结果:

当前 i 的值为   10
当前 i 的值为   9
当前 i 的值为   8
当前 i 的值为   7
当前 i 的值为   6

#goto

goto 可以将程序的执行跳转到指定的位置。

语法为:

goto 标签

其中标签的定义方式为两对冒号:

::标签::

和大多数编程语言不同, Lua 不支持 continue,下面的示例通过 goto 实现类似的功能:

local i = 10
while i > 0 do          -- 当 i 大于 0 时执行循环
    if i % 2 == 0 then
        goto continue   -- 跳转到 continue 标签位置
    end

    print("当前 i 的值为", i)
    
    ::continue::

    i = i - 1           -- 将 i 的值减少 1
end

运行结果:

当前 i 的值为   9
当前 i 的值为   7
当前 i 的值为   5
当前 i 的值为   3
当前 i 的值为   1

更新: 2025/9/28

作者: PlanC

创建: 2025/9/28